@()

<section class="taglineWrap">
  <div class="container">

    <div class="row-fluid hero">
      <div class="span7 logo">
        <img src="/img/logo-large.png" alt="spray"/>
      </div>
      <div class="span5 tagline">
        <h1>Elegant, high-performance HTTP for your Akka Actors.</h1>
        <div class="action">
          <a href="/introduction/" class="btn first btn-success">Learn More</a>
          <span>or</span>
          <a href="/contact/" class="btn btn-info">Contact Us</a>
        </div>
      </div>
      <div class="subtitle clearfix">
        <h2>
          <em>spray</em> is an open-source toolkit for building <strong>REST</strong>/<strong>HTTP</strong>-based
          integration layers on top of <a class="reference external" href="http://www.scala-lang.org"><strong>Scala</strong></a>
          and <a class="reference external" href="http://akka.io"><strong>Akka</strong></a>.
          Being asynchronous, actor-based, fast, lightweight, modular and testable it's a great way to connect
          your <a class="reference external" href="http://www.scala-lang.org"><strong>Scala</strong></a> applications to the world.
        </h2>
      </div>
    </div>

  </div>
</section>

<section class="mainContentWrap">
  <div class="container mainContent">
    <div class="row-fluid">
      <div class="span12">
        <div class="row-fluid featuredContent">

          <div class="span4">
            <h1><a href="/documentation/spray-can/"><span class="btn btn-inverse"><i class="icon-star icon-white"></i></span></a>Fast, lightweight HTTP Server</h1>
            <p>
              <em>spray</em> comes with a small, embedded and
              <a href="/blog/2013-05-24-benchmarking-spray/">super-fast</a> HTTP server (called <em>spray-can</em>)
              that is a great alternative to servlet containers. <em>spray-can</em> is fully asynchronous and can
              handle thousands of concurrent connections. It also supports request and response streaming,
              HTTP pipelining and SSL. And: there is an HTTP client to go with it ...
              <a href="/documentation/spray-can/"><span class="label">More</span></a>
            </p>
          </div>

          <div class="span4">
            <h1><a href="/documentation/spray-routing/"><span class="btn btn-inverse"><i class="icon-star icon-white"></i></span></a>Elegant DSL for API Construction</h1>
            <p>
              <em>spray's</em> routing DSL gives you a powerful and very flexible way of describing your REST API or
              web site behavior. It promotes RESTful style as well as a clean separation of the various application
              layers. Writing DRY and architecturally sound API code has never been easier ...
              <a href="/documentation/spray-routing/"><span class="label">More</span></a>
            </p>
          </div>

          <div class="span4">
            <h1><a href="/documentation/spray-servlet/"><span class="btn btn-inverse"><i class="icon-star icon-white"></i></span></a>Support for Servlet 3.0 Containers</h1>
            <p>
              We realize that (even though you often might want to ;^) it's not always possible for application
              developers to fully leave behind existing infrastructure. That's why <em>spray</em> comes with
              out-of-the-box support for all Servlet 3.0 compatible servlet containers (Jetty, Tomcat, Glassfish, etc.) ...
              <a href="/documentation/spray-servlet/"><span class="label">More</span></a>
            </p>
          </div>

        </div>
      </div>
    </div>
  </div>
</section>